﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
using Volo.Abp;
using SanJ.FreeCare.TypeFramework;

namespace SanJ.FreeCare.ConditionDefinitions
{
    public class ConditionDefinition : AuditedAggregateRoot<Guid>, IMultiTenant, ISoftDelete
    {

        
        /// <summary>
        /// 说明
        /// </summary>
        public string Description;
        /// <summary>
        /// 备注
        /// </summary>
        public string Note;
        /// <summary>
        /// 助记码
        /// </summary>
        public string? Spell { get; set; }

        /// <summary>
        /// 导入uri
        /// </summary>
        public string DefinitionUri { get; set; }
        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 副标题
        /// </summary>
        public string Subtitle { get; set; }
        /// <summary>
        /// 身份
        /// </summary>
        public string Status { get; set; }
        /// <summary>
        /// 实验上的
        /// </summary>
        public bool Experimental { get; set; }
        /// <summary>
        /// 日期
        /// </summary>
        public DateTime Date { get; set; }
        /// <summary>
        /// 出版商
        /// </summary>
        public DateTime Publisher { get; set; }
        /// <summary>
        /// 联系方式
        /// </summary>
        public DateTime Contact { get; set; }      
        /// <summary>
        /// 使用上下文
        /// </summary>
        public string UseContext { get; set; }
        /// <summary>
        /// 允许的数据类型, json数组 double string
        /// </summary>
        public string? PermittedDataType { get; set; }
        /// <summary>
        /// 单位 支持多个 Json数组存储
        /// </summary>
        public string? PermittedUnit { get; set; }
        /// <summary>
        /// 司法权
        /// </summary>
        public string Jurisdiction { get; set; }
        /// <summary>
        /// 编码
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// 父节点id
        /// </summary>
        public Guid? ParentId { get; set; }
        /// <summary>
        /// 项目状态 是否有效
        /// </summary>
        public string IsVaild { get; set; }
        /// <summary>
        /// 严重
        /// </summary>
        public string Severity { get; set; }
        /// <summary>
        /// 身体部位
        /// </summary>
        public string Bodysite { get; set; }
        /// <summary>
        /// 评估
        /// </summary>
        public string Stage { get; set; }
        /// <summary>
        /// 是否重症
        /// </summary>
        public bool HasSeverity { get; set; }
        /// <summary>
        /// 是否身体部位
        /// </summary>
        public bool HasBodySite { get; set; }
        /// <summary>
        /// 是否经过评估
        /// </summary>
        public bool HasStage { get; set; }
        /// <summary>
        /// 典型
        /// </summary>
        public bool Difition { get; set; }
        /// <summary>
        /// 药品
        /// </summary>
        public string Medication { get; set; }
        /// <summary>
        /// 药品类别
        /// </summary>
        public string MedicationCategory { get; set; }
        /// <summary>
        /// 药品编号
        /// </summary>
        public string MedicationCode { get; set; }
        /// <summary>
        /// 前提条件
        /// </summary>
        public string Precondition { get; set; }
        /// <summary>
        /// 条件类型
        /// </summary>
        public string PreconditionType { get; set; }
        /// <summary>
        /// 条件编码
        /// </summary>
        public string PreconditionCode { get; set; }
        /// <summary>
        /// 问券调查
        /// </summary>
        public string Questionnaire { get; set; }
        /// <summary>
        /// 调查目的
        /// </summary>
        public string Purpose { get; set; }
        /// <summary>
        /// 计划/药方
        /// </summary>
        public string Plan { get; set; }
        /// <summary>
        /// 职能
        /// </summary>
        public string Role { get; set; }
        /// <summary>
        /// 顺序
        /// </summary>
        public int? Order { get; set; }
        /// <summary>
        /// 常见原因
        /// </summary>
        public string CommonCause { get; set; }
        /// <summary>
        /// 医学解释
        /// </summary>
        public string MedicalInterpretation { get; set; }
        /// <summary>
        /// 诊疗建议
        /// </summary>
        public string DtSuggest {  get; set; }
        public Guid? TenantId {  get; set; }

        public bool IsDeleted { get; set; }
        /// <summary>
        /// 分类
        /// </summary>
        public string? Classification { get; set; }
        /// <summary>
        /// 分类顺序
        /// </summary>
        public int ClassificationOder { get; set; }
        /// <summary>
        /// 性别
        /// </summary>
        public bool Gender { get; set; }
        /// <summary>
        /// 随访
        /// </summary>
        public string? Suifang { get; set; }
        /// <summary>
        /// 随访周期
        /// </summary>
        public double? SuifangCycle { get; set; }
        /// <summary>
        /// 是否通知
        /// </summary>
        public bool Notification { get; set; }

        public ConditionDefinition()
        {
        }
    }
}
